/*
 * Copyright (c) 2021-2021, THEWON
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-10-11     THEWON       add h file; add public reference api
 * 2021-10-13     THEWON       add -a argument, list all objects
 */

#ifndef __OD_CMDS_H__
#define __OD_CMDS_H__

#ifdef __cplusplus
extern "C" {
#endif

void od_set_group_size(int group_sz);
void od_set_line_size(int line_sz);
void od_mem(unsigned int start_addr, unsigned int end_addr);

int od_thread(char *name);
int od_all_thread(void);
#ifdef RT_USING_SEMAPHORE
int od_sem(char *name);
int od_all_sem(void);
#endif
#ifdef RT_USING_EVENT
int od_event(char *name);
int od_all_event(void);
#endif
#ifdef RT_USING_MUTEX
int od_mutex(char *name);
int od_all_mutex(void);
#endif
#ifdef RT_USING_MAILBOX
int od_mailbox(char *name);
int od_all_mailbox(void);
#endif
#ifdef RT_USING_MESSAGEQUEUE
int od_msgqueue(char *name);
int od_all_msgqueue(void);
#endif
#ifdef RT_USING_MEMHEAP
int od_memheap(char *name);
int od_memheap_item(unsigned int start_addr);
int od_all_memheap(void);
#endif
#ifdef RT_USING_MEMPOOL
int od_mempool(char *name);
int od_all_mempool(void);
#endif
int od_timer(char *name);
int od_all_timer(void);


#ifdef __cplusplus
}
#endif

#endif // __OD_CMDS_H__
